package com.fduss.sota.service;

import com.fduss.sota.domain.RiskCheckTemplateItem;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @Author duocai
 * @Date 2017/6/3
 * @Time 19:29
 */
public interface RiskCheckTemplateItemService {

    /**
     * add a risk check template item
     * @param riskCheckTemplateItem
     * @return true for success and false for failure
     */
    boolean add(RiskCheckTemplateItem riskCheckTemplateItem);

    boolean add(List<RiskCheckTemplateItem> riskCheckTemplateItems);

    /**
     * check constrains and delete the item
     * @param riskCheckTemplateItem
     * @return true for success and false for failure
     */
    boolean delete(RiskCheckTemplateItem riskCheckTemplateItem);

    boolean delete(Long id);

    boolean deleteAll();

    /**
     * update a item
     * @param riskCheckTemplateItem
     * @return true: updated. false: the item doesn't exist
     */
    boolean update(RiskCheckTemplateItem riskCheckTemplateItem);

    List<RiskCheckTemplateItem> getAll();

    RiskCheckTemplateItem get(Long id);

    Page<RiskCheckTemplateItem> getPage(int pageOffset, int pageSize);

    /**
     * to get all item that contains the key world in name or content.
     * @param key the key world
     * @return a List of Items. size is 0 if there is no proper items.
     */
    List<RiskCheckTemplateItem> searchTemplateItems(String key);
}
